#include<iostream>
#include<vector>

using std::vector;

typedef struct{
    float x, y, w, h;
}Box;

typedef struct{
    vector<Box> boxes;
    int update_id = 0;
}FaceBox;

class Solution{
    private:
        int face_catch_max_ = 5;
        float iou_thresh_ = 0.65;
        float box_iou(Box& a, Box& b);
        void update_queue(Box& box, vector<FaceBox>& catch_queue, int id);
    public:
        void process(vector<FaceBox>& catch_queue, vector<Box>& det_face);
};
